This relates to communication networks, and more particularly, to communications networks having network switches that are controlled by a controller.
Packet-based networks such as the Internet and local data networks that are connected to the internet include network switches. Network switches are used in forwarding packets from packet sources to packet destinations. The packets may be sometimes referred to as frames. For example, data is forwarded over layer 2 of the Open Systems Interconnection (OSI) model as frames (e.g., Ethernet frames), whereas data is forwarded over layer 3 of the OSI model as packets (e.g., Internet Protocol packets).
It can be difficult or impossible to configure the switches of one vendor using the equipment of another vendor. This is because the switch equipment of one vendor may use a different operating system and set of control procedures than the switch equipment of another vendor. To address the challenges associated with controlling different types of switch platforms, cross-platform protocols have been developed. These protocols allow centralized control of otherwise incompatible switches.
Cross-platform controller clients can be included on the switches in a network. The controller clients are able to communicate with a corresponding controller server over network paths. Because the controller clients can be implemented on a variety of switch hardware, it is possible for a single controller to control switch equipment that might otherwise be incompatible.
Switches include ports that may be coupled to other network devices such as end hosts or other switches. Some switches are capable of implementing link aggregation groups (LAGs) from groups of ports. In link aggregation arrangements, multiple links to other network devices are combined to form a single logical connection over which network packets may be forwarded. Each switch can monitor its own ports to identify port failure and update its own link aggregation groups to remove failed ports. However, it can be challenging for switches to handle port failures at other switches. For example, it can be challenging for a first switch to respond to port failures at a second switch. Conventionally, the first switch responds merely by removing any of its ports that are connected to the second switch from the link aggregation groups of the first switch. However, this can lead to inefficient utilization of network resources, because at least some of the ports of the second switch are still functioning and can be used for network forwarding.